#============================================================
#	Plugin
#============================================================
# @datetime: 2022-5-2 17:33:57
#============================================================
class_name _CodeEditor_SubPlugin_Setget
extends _CodeEditor_SubPluginBase


const SetgetDialog = preload("SetgetDialog.tscn")

var setget_dialog = SetgetDialog.instance()


#==================================================
#   自定义方法
#==================================================
#(override)
func install():
	.install()
	# SetgetDialog 窗口节点
	setget_dialog.set_plugin(get_plugin())
	add_editor_node(setget_dialog)


#(override)
func init_menu_button():
	.init_menu_button()
	# 设置菜单快捷键
	_menu_button.set_item_shortcut(
		_menu_button.add_popup_item("生成 Setget 方法", self, "show_dialog")
		, get_util() \
			.parse_shortcut_util \
			.parse_shortcut("Ctrl + Shift + I")
	)

#(override)
func uninstall():
	.uninstall()
	setget_dialog.queue_free()


##  重写 SetGet 方法弹窗
func show_dialog():
	setget_dialog.popup_centered_ratio(0.5)
	setget_dialog.textedit = get_util().script_editor_util.get_current_code_textedit()
	setget_dialog.update_list()

